function LinkTo(url, type = false) {
	if (type == "Rd") {
		// 关闭当前页面，跳转到应用内的某个页面。
		uni.redirectTo({
			url: url,
		})
	} else if (type == "Sw") {
		// 跳转到 tabBar 页面，并关闭其他所有非 tabBar 页面。
		uni.switchTab({
			url: url,
		})
	} else if (type == "Rl") {
		// 关闭所有页面，打开到应用内的某个页面。
		uni.reLaunch({
			url: url,
		})
	} else if (type == "Back") {
		// 关闭当前页面，返回上一页面或多级页面
		uni.navigateBack({
			delta: 1
		});
	} else {
		// 保留当前页面，跳转到应用内的某个页面，使用uni.navigateBack可以返回到原页面。
		uni.navigateTo({
			url: url,
		})
	}
}
// 返回首页
function BackHome() {
	uni.switchTab({
		url: '/pages/home/index'
	})
}

function Loading(mask = true, title = "加载中") {
	uni.showLoading({
		mask,
		title
	})
}

function HideLoading() {
	uni.hideLoading()
}
// 弹窗
function Toast(title = '', duration = 1500, icon = 'none') {
	return uni.showToast({
		title,
		duration,
		icon
	})
}
//成功
function Suc(title = '操作成功', duration = 2000) {
	return uni.showToast({
		title,
		duration,
		icon: 'success'
	})
}

//查看大图
function PreviewImage(url, e) {
	uni.previewImage({
		current: e, //预览图片的下标
		urls: url, //图片数组
	});
}
// 剩余支付时间
function CountDown(timeList) {
		// 获取当前时间，同时得到活动结束时间数组
		let newTime = new Date().getTime();
		let countDownArr = [];
		// 对结束时间进行处理渲染到页面
		timeList.forEach(o => {
			let endTime = o * 1000;
			let obj = null;
			// 如果活动未结束，对时间进行处理
			if (endTime - newTime > 0) {
				let time = (endTime - newTime) / 1000;
				// 获取天、时、分、秒
				// let day = parseInt(time / (60 * 60 * 24));
				let hou = parseInt(time % (60 * 60 * 24) / 3600);
				let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
				let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
				obj = {
					// day: TimeFormat(day),
					hou: TimeFormat(hou),
					min: TimeFormat(min),
					sec: TimeFormat(sec)
				};
			} else { // 活动已结束，全部设置为'00'
				obj = {
					// day: '00',
					hou: '00',
					min: '00',
					sec: '00'
				};
			}
			countDownArr.push(obj);
		});
		
		return countDownArr;
}

//补0
function TimeFormat(param) {
	return param < 10 ? '0' + param : param;
}

// 隐藏手机号中间的数字
function MobileShelter(num) {
	let nums = ''
	if (num) {
		let arr = `${num}`.split('')
		if (arr.length == 11) {
			arr.forEach((item, index) => {
				nums += index > 2 && index < 7 ? '*' : item
			})
		} else {
			arr.forEach((item, index) => {
				nums += index > 3 && index < 14 ? '*' : item
			})
		}
	}
	return nums
}
// 手机号验证
function MobileVer(num) {
	let reg = /^1[3456789]\d{9}$/;
	if (!(reg.test(num))) {
		return false
	}
	return true
}
//身份证验证
function RegIdCard(num) {
	var reg =
		/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
	if (!(reg.test(num))) {
		return false
	}
	return true
}

// 拼接静态资源(将Config.image_public,补上再测试,看一下是否可用)
function Img(url, suffix = "default", mode = 'public') {
	if (!url) return ""
	// image_public: "http://pub.static.shenzhenesoft.com/",上传的图片服务器
	let base = Config.image_public
	let baseArr = Config.image_public.split('/')
	let host = null
	let location = []

	// 自动优化图片提升性能
	const styles = {
		'default': 'q/75',
		'mini': 'w/128/h/128/q/75', // 修饰符说明
		'small': 'w/256/h/256/q/75', // w = 最大图片宽度，真实图片超过此宽度会压缩到此宽度，小图片则不会修改
		'normal': 'w/512/h/512/q/75', // h = 最大图片高度，规则同上
		'big': 'w/1024/h/1024/q/75', // q = 压缩质量，0 = 最差， 100 = 最好
	}
	for (let path of ['project/image/', '/project/image/']) {
		if (url.indexOf(path) === 0) {
			url = url.replace(path, '')
		}
	}
	if (suffix !== null && suffix !== 'null' && suffix !== 'none') {
		let useWebp = false // navigator.userAgent.indexOf('Chrome') > -1; 是否使用 webp 格式图片，对性能有极大提升，但目前已知苹果端不支持
		if (suffix && styles[suffix]) {
			let trim = suffix === 'default' ? '0' : '2'
			suffix = styles[suffix] ? `?imageView2/${trim}/${useWebp ? 'format/webp/' : ''}${styles[suffix]}` : suffix
		}
	} else {
		suffix = ''
	}
	// 自动拼写前缀
	while (baseArr.length > 0) {
		let str = baseArr.splice(0, 1)[0]
		if (str && str != 'http:' && str != 'https:') {
			if (!host) {
				host = str
			} else {
				location.push(str)
			}
		}
	}
	if (url) {
		let before = 'project'
		if (url.indexOf(before) === 0) {
			return encodeURI(`${base}${url}`)
		} else if (url.indexOf("//") >= 0) {
			return encodeURI(url + suffix)
		} else if (url.split('/')[0] === before) {
			return encodeURI(`https://${host}/${url}${suffix}`)
		}
		if (url[0] === '/' && url.split('/')[1] === before) {
			return encodeURI(`https://${host}${url}${suffix}`)
		}
		return encodeURI(Config.image_public + url + suffix)
	}
	return ""
}

module.exports = {
	LinkTo: LinkTo,
	BackHome: BackHome,
	Loading: Loading,
	HideLoading: HideLoading,
	Toast: Toast,
	Suc: Suc,
	CountDown: CountDown,
	MobileShelter: MobileShelter,
	MobileVer: MobileVer,
	RegIdCard: RegIdCard,
	PreviewImage: PreviewImage,
	Img: Img,
}
